[java] Math 클래스
1. Math 클래스란?
- Math 클래스는 java.lang 패키지에 포함되어 제공된다.
- Math 클래스는 수학에서 자주 사용하는
상수들과 함수들을 미리 구현해 놓은 클래스
이다. -
Math 클래스의 모든 메소드는 static method이므로,
객체를 생성하지 않고도 바로 사용
할 수 있습니다. - Scanner 클래스는
문자
뿐 아니라 정수, 실수 등다른 자료형
도 읽을 수 있다. - 또한 콘솔 화면뿐 아니라
파일
이나문자열
을생성자의 매개변수
로 받아 자료를 읽어올 수 있다. - 여러 대상에서 자료를 읽는 Scanner 클래스의 생성자는 굉장히 다양하다.
2. 대표 메소드
2-1. max(), min()
max()
- max() 함수는 전달된 두 값을 비교하여 그중에서
큰 값을 반환하는 함수
이다. - int, long, double, float 형태의 숫자를 비교 가능하다.
Math.max(9, 10) // 10
Math.max(3.14, 3.141592) // 3.141592
Math.max(3.14, 3.141592) // 3.141592
min()
- min() 함수는 전달된 두 값을 비교하여 그중에서
작은 값을 반환하는 함수
이다. - int, long, double, float 형태의 숫자를 비교 가능하다.
Math.min(9, 10) // 9
Math.min(6.13, 6.13123) // 6.13
Math.min(6.13, 6.13123) // 6.13
2-2. floor(), ceil(), round()
floor()
- floor() 함수는
소수점 아래의 숫자를 다 버리는 함수
이다. - ceil()과 반대되는 역할을 한다.
Math.floor(9.0) // 9
Math.floor(9.3) // 9
Math.floor(10.9) // 10
Math.floor(9.3) // 9
Math.floor(10.9) // 10
ceil()
- ceil() 함수는 소수점 아래에 숫자가 있으면
소수점 아래를 다 버리고 앞의 정수에 1을 더해주는 함수
이다. - ceil 은 ‘천장을 만들다’ 라는 뜻이 있는데, 소수점 아래가 있으면 무조건 올려 버리는 의미로 이해하면 된다.
Math.ceil(9.6) // 10
Math.ceil(10.0) // 10
Math.ceil(10.1) // 11
Math.ceil(10.000001) // 11
Math.ceil(10.0) // 10
Math.ceil(10.1) // 11
Math.ceil(10.000001) // 11
round()
- round() 함수는 전달받은 실수를
소수점 첫째 자리에서 반올림
하는 함수이다. - 0.5 이상은 1로 올리고 그 외는 0 으로 처리한다.
Math.round(10.0) // 10
Math.round(10.4) // 10
Math.round(10.5) // 11
Math.round(10.4) // 10
Math.round(10.5) // 11
2-3. random()
random()
- random() 함수는 0.0 이상 1.0 미만의 범위에서
임의의 double형 값을 하나 생성
하는 함수이다. - 내부적으로 java.util 패키지의 Random 클래스를 사용한
의사 난수 발생기
(pseudorandom-number generator)를 사용하여 임의의 수를 생성한다. - java.util 패키지에 포함된 Random 클래스의 nextInt() 메소드를 사용해도 난수를 생성할 수 있다.
Math.random() // 0.20372921593460602
Math.random() // 0.9987773014035501
Math.random() // 0.46438369034509486
Math.random() // 0.9987773014035501
Math.random() // 0.46438369034509486
2-4. abs()
abs()
- abs() 함수는 전달된 값이 음수이면 그 값의
절댓값을 반환
하며, 전달된 값이 양수이면 전달된 값을 그대로 반환한다. 문자형 숫자
도 절대값이 적용된다.
Math.abs(10) // 10
Math.abs(-10) // 10
Math.abs('-1') = 1
Math.abs('ABC') = NaN
Math.abs(null) = 0
Math.abs(-10) // 10
Math.abs('-1') = 1
Math.abs('ABC') = NaN
Math.abs(null) = 0
2-5. pow(),sqrt()
pow()
- pow() 함수는 전달된 두 개의 double형 값을 가지고
제곱 연산을 수행
하는 함수이다. Math.pow(a, n) = aⁿ
Math.pow(5, 2) // 25
Math.pow(2, 3) // 8
Math.pow(2, 10) // 1024
Math.pow(2, 3) // 8
Math.pow(2, 10) // 1024
sqrt()
- sqrt() 함수는 전달된 double형 값의
제곱근 값을 반환
하는 함수이다.
Math.sqrt(25) // 5
Math.sqrt(144) // 12
Math.sqrt(100) // 10
Math.sqrt(144) // 12
Math.sqrt(100) // 10
2-6. sin(), cos(), tan()
자바에서는 삼각 함수와 관련된 다양한 연산을 간편하게 수행할 수 있도록 많은 삼각 함수
를 제공하고 있다.
- asin(), acos(), atan(), atan2(), sinh(), cosh(), tanh()
sin()
- sin() 함수는
전달된 라디언 값의 사인값을 반환
하는 함수이다. - 전달하는 인자(라디언 값)에는 double형 사용!
Math.sin(90.0) // 0.8939966636005579 ((90.0 라디안의 sin 값))
Math.sin(Math.toRadians(90.0)) // 1.0 (90도의 sin 값)
Math.sin(Math.toRadians(90.0)) // 1.0 (90도의 sin 값)
cos()
- cos() 함수는
전달된 라디언 값의 코사인값을 반환
하는 함수이다. - 전달하는 인자(라디언 값)에는 double형 사용!
Math.cos(180.0) // -0.5984600690578581 (180.0 라디안의 cos 값)
Math.cos(Math.toRadians(180.0)) // -1.0 ((180도의 cos 값))
Math.cos(Math.toRadians(180.0)) // -1.0 ((180도의 cos 값))
tan()
- tan() 함수는
전달된 라디언 값의 탄제트값을 반환
하는 함수이다. - 전달하는 인자(라디언 값)에는 double형 사용!
Math.tan(180.0) // 1.3386902103511544E8 (180.0 라디안의 tan 값)
Math.tan(Math.toRadians(180.0)) // 0.0 (180도의 tan 값)
Math.tan(Math.toRadians(180.0)) // 0.0 (180도의 tan 값)
2-7. toRadians()
toRadians()
- toRadians() 함수는 매개변수에 전달된 일반각(0 ~ 360°)을
라디언 값으로 반환
하는 함수이다. - 전달하는 인자(일반각)에는 double형 사용!
Math.toRadians(90.0) // 1.5707963267948966
참고링크 |
Leave a comment